package top.melody.ecommerce.platform.api.domain.basedata;

import java.io.Serializable;

import top.melody.ecommerce.common.util.reflect.ReflectUtil;
import top.melody.ecommerce.platform.handler.enums.ActStatus;
import top.melody.ecommerce.platform.handler.enums.ValidStatus;

import java.util.Date;


/**
 * @author: melody
 * @groupId:rd
 * @createdate:2016-10-18
 * @mail: blentle.huan.ren@gmail.com
 * @description:
 * @since: 1.0
 */
public class GoodsCategory implements Serializable {

    /* 自增ID */
    private Integer categoryId;
    /* 分类名称 */
    private String categoryName;
    /* 上级分类*/
    private Integer parentCategoryId;
    /* 分类级别*/
    private Integer categoryLevel;
    /* 分类路径(rootId#id#subId) 如 ：10#101#1001 */
    private String categoryPath;
    /* 有效：VALID;无效:INVALID */
    private ValidStatus validStatus;
    /* 已删除：Y;未删除：N */
    private ActStatus removeStatus;
    /* 创建时间 */
    private Date createDate;
    /* 最近更新时间 */
    private Date updateDate;

    public GoodsCategory() {

    }

    public GoodsCategory(Integer categoryId, String categoryName, Integer parentCategoryId, Integer categoryLevel, String categoryPath, ValidStatus validStatus, ActStatus removeStatus, Date createDate, Date updateDate) {
        this.categoryId = categoryId;
        this.categoryName = categoryName;
        this.parentCategoryId = parentCategoryId;
        this.categoryLevel = categoryLevel;
        this.categoryPath = categoryPath;
        this.validStatus = validStatus;
        this.removeStatus = removeStatus;
        this.createDate = createDate;
        this.updateDate = updateDate;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public Integer getParentCategoryId() {
        return parentCategoryId;
    }

    public void setParentCategoryId(Integer parentCategoryId) {
        this.parentCategoryId = parentCategoryId;
    }

    public Integer getCategoryLevel() {
        return categoryLevel;
    }

    public void setCategoryLevel(Integer categoryLevel) {
        this.categoryLevel = categoryLevel;
    }

    public String getCategoryPath() {
        return categoryPath;
    }

    public void setCategoryPath(String categoryPath) {
        this.categoryPath = categoryPath;
    }

    public ValidStatus getValidStatus() {
        return validStatus;
    }

    public void setValidStatus(ValidStatus validStatus) {
        this.validStatus = validStatus;
    }

    public ActStatus getRemoveStatus() {
        return removeStatus;
    }

    public void setRemoveStatus(ActStatus removeStatus) {
        this.removeStatus = removeStatus;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public String toString() {
        return ReflectUtil.fieldsToString(this);
    }
}
